//
//  ZRHomeCellViewModel.swift
//  Sina
//
//  Created by 张锐 on 16/3/1.
//  Copyright © 2016年 zhangr. All rights reserved.
//

import UIKit

class ZRHomeCellViewModel: NSObject {
    
    var statusModel :ZRStatusModel?
    
    /// 头像URL逻辑
    var photo_url : NSURL?{
    
        return NSURL(string: (statusModel?.user?.profile_image_url ?? ""))
    
    }
    
    /// 根据user中的verified_type 返回需要的图片 判断逻辑
    var verified_image : UIImage?{
    
        switch statusModel?.user?.verified_type ?? -1 {
        
            
        case -1 : return nil
            
        case 0 : return UIImage(named: "avatar_vip")
            
        case 2,3,5 : return UIImage(named: "avatar_enterprise_vip")
            
        case 220 : return UIImage (named: "avatar_grassroot")
            
        default : return nil
        
        }
    
    }
    /// 会员等级判断逻辑
    var mbrank_image : UIImage?{
    

            return UIImage(named: "common_icon_membership_level\(statusModel?.user?.mbrank ?? 0)")
    
    
    }
    
    /// 转发数判断逻辑
    var reposts_Str : String?{
    
        if statusModel?.reposts_count > 0{
            return "\(statusModel!.reposts_count)"}
        else{
            return "转发"
        }
    
    }
    /// 评论数判断逻辑
    var comments_Str : String?{
        
        if statusModel?.comments_count > 0{
            return "\(statusModel!.comments_count)"}
        else{
            return "评论"
        }
        
    }
    /// 赞数判断逻辑
    var attitudes_Str : String?{
        
        if statusModel?.attitudes_count > 0{
            return "\(statusModel!.attitudes_count)"}
        else{
            return "赞"
        }
        
    }
    /// 来源逻辑
    var source_str : String?{
    
//    "<a href=\"http://app.weibo.com/t/feed/3DeKLj\" rel=\"nofollow\">时光机</a>"
    
        guard let sourceStr = statusModel?.source else{
 
            return nil        
        }
        
        let sourceList = sourceStr.componentsSeparatedByString(">")
        
        if sourceList.count > 2{
        let sourceStr2 = sourceList[1]
        
        let finalSourceStr = sourceStr2.componentsSeparatedByString("<")
            if finalSourceStr.count > 1{
                return finalSourceStr.first}
        }
        return nil
    }
    /// 发表微博时间逻辑
    var create_time : String?{
    
        /*
        
        Thu Mar 03 17:00:03 +0800 2016
        设置日期格式 （声明字符串里面每个数字和单词的含义）
        E：星期
        M: 月份
        d：日
        H: 24小时
        m: 分
        s: 秒
        y: 年
        Z:zone 时区
        */
       let formatter = NSDateFormatter()
        
        formatter.locale = NSLocale(localeIdentifier: "cn")
        
        formatter.dateFormat = "EEE MMM dd HH:mm:ss Z yyyy"
        
        let createDate = formatter.dateFromString((statusModel?.created_at)!)
        
        let cal = NSCalendar.currentCalendar()
        
        let unit = NSCalendarUnit(arrayLiteral: .Year,.Month,.Day,.Hour,.Minute)
        
        let cmr = cal.components(unit, fromDate: createDate!, toDate: NSDate(), options: [])
        
        
        /*
        刚刚
        分钟前发表
        
        小时前发表
        
        昨天发表
        天前发表
        
        MM-dd HH:mm
        
        yyyy-MM-dd
        */
        if cmr.year == 0{//今年
            
            if cmr.month == 0{//本月
                
                if cmr.day == 0 {//今天
                    
                    if cmr.hour == 0{//这个小时
                        if cmr.minute == 0{ //刚刚
                        return "刚刚"
                        }else{//几分钟前
                        return "\(cmr.minute)分钟前"
                        }
                    }else{//别的小时
                        return "\(cmr.hour)小时前"
                    }
                }else if cmr.day == 1{//昨天
                    return "昨天"
                }else{//其他天
                    return "\(cmr.day)天前发表"
                }
            
        }else{//别的月
            formatter.dateFormat = "MM-dd HH:mm"
            return formatter.stringFromDate(createDate!)
        }
    }else{//别的年
            formatter.dateFormat = "yyyy-MM-dd"
        return formatter.stringFromDate(createDate!)
    }
}

    
    
    
    

}
